#ifndef __UTILS_H__
#define __UTILS_H__


// 头文件内容
#include <stdio.h>
#include <time.h>
#include <string.h>
#include <stdlib.h>
#include<errno.h>
// 定义宏定义
#define LOG_FILE "log/error.log"                    // 报错日志文件

// 错误输出宏定义，写入日志文件并显示在终端
#define ERRLOG(msg)                                                                                                           \
    do                                                                                                                        \
    {                                                                                                                         \
        time_t now = time(NULL);                                                                                              \
        struct tm* loc_time = localtime(&now);  \
        char timestr[128] ;  strftime(timestr,sizeof(timestr), "现在是北京时间:%Y年%m月%d日 %H时%M分%S秒\n" , loc_time); \
        timestr[strlen(timestr) - 1] = '\0'; /* 去掉末尾的换行符 */                                                   \
        FILE *log_file = fopen(LOG_FILE, "a");                                                                                \
        if (log_file)                                                                                                         \
        {                                                                                                                     \
            fprintf(log_file, "[%s] 错误: %s\t文件: %s\t函数: %s\t行号: %d\n %s\n\n",timestr, msg, __FILE__, __func__, __LINE__, strerror(errno)); \
            fclose(log_file);                                                                                                 \
        }                                                                                                                     \
        else                                                                                                                  \
        {                                                                                                                     \
            fprintf(stderr, "错误: 无法打开日志文件: %s\n", LOG_FILE);                                                        \
        } /* 输出到标准错误流 */                                                                                      \
        fprintf(stderr, "[%s] 错误: %s\t文件: %s\t函数: %s\t行号: %d\n", timestr, msg, __FILE__, __func__, __LINE__);         \
    } while (0)



// void Login(void);

void test_1_tool(float num);
//格式判断
void YNMT(int argc ,int num,char * file_name);













#endif // __UTILS_H__
